// import { JSEncrypt } from 'jsencrypt';
// import moment from 'moment';
// import { qryActivateRecordByCode, qryActivateRecordByCodeM } from '@renderer/api/krosListenApi/KrActivateRecordApi';
// import _ from 'lodash';
// import { useAppStore } from '@renderer/stores/app';
//
// const PRIVATE_KEY = `-----BEGIN PRIVATE KEY-----
// MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQDPOjysb0vkvtkD
// ZqAfCIqOFcFQncc0c1igTCRhNk0EReoBmOvQQiY1LVR6Z+MMl+rARLKmwjKfHPEu
// CyrcmqjDyIha3PjjgyjbJteeGLbjHtwfLa9xM924YBJDETSkVBJzLi8lrJT72KEu
// J9FBsHlkeT7cQoiM/UG4gaJZBSNtC5oLbhw9LhN18hg/06E6tWMwfJ0BnzTmQeYE
// hpdC7QuedDMAevcBoIj2iONLBWNVbMYVA1n5kP907/o6FBXEckmIL7IIQYu+YXAa
// JA9350jOJx7qInNdmBZXYT+ow743FpN0RKxmptAeLSFztca3rvOeQi4YME+WMybq
// jGQDDVCbJxApcLGpdXvX8HKXnEE/hgXGJ30/pDislsCBZREBWvvZaAb5uM3fb6uK
// EpfzGitnGxVckucB+h0Qydx+VG+n49TxJtRxOSZgwwZK00wk3skHWTy2fdcgI8u9
// ps18eco/4DDq8eglYcD2m5js+A0MKQKPbwojOVfDmDOovRb/ywEpIkjr4slqdNy8
// ch3saFx6NpGSZc8z2iGqbIcDGnmayFHtQYTE1tiY5BJRszbmYOIXAxxOYdtKnaBi
// rExQU2hoPJgVQrBwrcklM7WQ6Ses7RZkS0OemlihPHvbE87Hv8eq27/3WqK6Nhmv
// CZVTnSisUvP65i+Pob0MkASduYcbLwIDAQABAoICAQCWxSZTxv4OxZQa11X0fkBg
// tA9cWg8PaES5C+0EFX/fdgaVdu9LLHWkBwEJtgAJr5YKoXDhxzURcvs+pr1el9/l
// 4kbi5RboYQset5n02sJlaJR60sBsunG8rZlb1m7YiJqL1rRS0sfqnGhYrnufMYiA
// w34qvvWerrxcQ2UdI5Hsyp4fZtOA578c9zERbyZFEqfCJUgOYAka5iM2c74l4VWs
// yZo55T1Fn8lGpb3JXXgyNNvBehjCbO6P4/HIw8g6j3RUc28ydo33y+jF/CqM8GeW
// JfxmGP6awAaxOH4aiaAhcHmEBFryrLeK3QcTqtOT3OQ+5qOm0a919m2ABPjXB572
// k0B7azzoq5jn7yO3Io0ogx6O9qi8xeNbFR/hlzT0R7fke+oGUUyji9YgAB5rkKWR
// l0OBDs1UJcK6bwrSogAGAuR+QhPMyWt+DGp6/2G5B38M9sxPnbO/ZEzoxHf0ZuSI
// AF7pOfJsOVWQJxafRahH0920biqOjqwLYombqLbQ9rdoT3ripzpWmiQgSd3JIwx1
// en6AobaekA5y0t++NPN3SZilvcocD4LZaXmegTRqsZARQidofSGMmCNLhPAjNpYI
// /8IignOOp0CafiQW0NDqQOTb8bzgM+Zg2CK54DDUTLDDRSmGowU1kSSnYU2ADYlO
// jwqoiefyme3EDLL6ZwC/oQKCAQEA+Op9rT9iSYZ66WzxThXOcC/cTlR2Be+fD2Pl
// HyXoDUM56qEyfGEExYaWqhBgsGeHSGQ75MXvAZnR6PL0PgVx7/tBQEcFqJg1UcPE
// pnLRX9yPuNSd870WqoY2kSUevq/2NNLllj8HRy3o/KRDoT58Rx3ro+iiaWDDdG6g
// cTHbRA/RL2zyFhUk5Jm9glG9Ku2pds8Y8uuj6anPqJYJCGEtwpbb2ZKu1hJ5fP1m
// 0vElrgbgxY1itFiOOIJ/Y7goDZweW8q3iL9dyIeVRJiNrtcf5uoxr59y0FBxEjYS
// /onv3Zwioo4scAelguI0ZItaWti9Rst1Mh3qMrx9df2LB0UB5wKCAQEA1SAE7oOT
// vYL8n4hyAsRq41n3b5C7iaWIR9/rUamfWcof4f9RH7JKfw4nw7k26RwCSXI2j+vy
// 91vpeKb0veOPAckJjuY/2DJMxeczxiYRKW3KevUBfv3Squ6ssRVh5ICtvauajiQT
// RUph64BY/1FRrXEDd8+aICFL5E3MfDOxAyfalzznvO+OWj8jf7zKuAoPTWmy7VYM
// GNC/hDhbID/lkeyCJpBfa1+7lRDx0aoDHLHbLsTMqgKMqsjCpmsS24ps1K8Sxfe5
// rncPMcq+wjl4NxwN5Ggwo3Vrel5AwqYBznMhy8AiUbjEilux5BNtKEbI32sGFODc
// lWjKfW7F2JCDeQKB/wLqvI5LL9ust8QEgs9ncgPei7ZfRwLKzBJiGU1EJHQDVapq
// OS079dJawWk8x+VJUUyH4CvOJf7ezpbsQfB4H92wFBOswWQ4ZGeQ470Pm2SEMSr5
// UuCIVruo1vrcdH/HkBsOXaJlGrC62QAc7K33DX3H2/sPvtd9Ss0Sfs7Uxr0Fcm4b
// 2LpphQUoyA++5XibUGEUDDbMjB8w3j4bg/+VI/Qj0G+8SFA55zKPxaSzLr3bVsb5
// 4S47227OGLASeGWwbqqktYHkvDSdYiJrpz1lR/psxChKtg2645hTCeXxt93g9obx
// I5QsgsQF4pdLCsQFxjIOMFFmCFiP3OiFEBwFswKCAQEAoXAmrDF4+QW+rG2jxxrX
// yK2+c4ETvdlo2ODyFKLDNTWZXwySe8sHCSVE08p5oKx5wv7D+9MD8YFq4dy96RT1
// n6mUFu2skOzRINvYaREu0M38oZTzdCl6qcYvg9gplfgvI0xYv7Dt8/+7GrPXNld3
// 4kSIFvpnykzOevq/mZliTXyj5QnalFB16UCIeFsex7e/DamyQnt6oFWHrPUvecdM
// 83NOxz13OhODORBjzKjWwKas28lxKprRyRBX+c2DtE8vzw9qzhCvU0uWc+YbB26W
// 9E/I6ipOJZNtPX0l2wv6tFKb2AYLORIXtqJsptJcTjUINcyRB8Go9XgyYj9FmJ0n
// KQKCAQA1fYdXFIc17iUQowqdImWXynH4ju79GbxFnAfiFnHBpqQcfX59n6gekGSw
// YNAnaijhHvQjWkMymfqsNmor3wSyed2+w7W5fNsQa9sFwqZeIG0eMXJmItDyD2KN
// xTGwOfqDma2zc9F5L0H4rw4UpStmzJlpcwdiqzK7gs2F6U/iGMn/zsqxJfKXPFa+
// 8c4mKTGxnpdBFUuB5rKRjCVkg1xIaeFh6CtkP60sKlWeoyvs7o9pCGwxH7RwFLYb
// t5UobNTyjZXKE5Edx+Ksc8by/oQnpEzCWvYPEi6W9SP6e5CmHn0W7MaiuFnWeOkw
// 3VVr+N/HGwoj+7zUhdukPGpyUkc8
// -----END PRIVATE KEY-----`;
// const PUBLIC_KEY = `-----BEGIN PUBLIC KEY-----
// MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzzo8rG9L5L7ZA2agHwiK
// jhXBUJ3HNHNYoEwkYTZNBEXqAZjr0EImNS1UemfjDJfqwESypsIynxzxLgsq3Jqo
// w8iIWtz444Mo2ybXnhi24x7cHy2vcTPduGASQxE0pFQScy4vJayU+9ihLifRQbB5
// ZHk+3EKIjP1BuIGiWQUjbQuaC24cPS4TdfIYP9OhOrVjMHydAZ805kHmBIaXQu0L
// nnQzAHr3AaCI9ojjSwVjVWzGFQNZ+ZD/dO/6OhQVxHJJiC+yCEGLvmFwGiQPd+dI
// zice6iJzXZgWV2E/qMO+NxaTdESsZqbQHi0hc7XGt67znkIuGDBPljMm6oxkAw1Q
// mycQKXCxqXV71/Byl5xBP4YFxid9P6Q4rJbAgWURAVr72WgG+bjN32+rihKX8xor
// ZxsVXJLnAfodEMncflRvp+PU8SbUcTkmYMMGStNMJN7JB1k8tn3XICPLvabNfHnK
// P+Aw6vHoJWHA9puY7PgNDCkCj28KIzlXw5gzqL0W/8sBKSJI6+LJanTcvHId7Ghc
// ejaRkmXPM9ohqmyHAxp5mshR7UGExNbYmOQSUbM25mDiFwMcTmHbSp2gYqxMUFNo
// aDyYFUKwcK3JJTO1kOknrO0WZEtDnppYoTx72xPOx7/Hqtu/91qiujYZrwmVU50o
// rFLz+uYvj6G9DJAEnbmHGy8CAwEAAQ==
// -----END PUBLIC KEY-----`;
//
// /**
//  * 获取计算机信息
//  * @returns {Promise<*|{}>}
//  */
// export async function getComputerInfo() {
//     let computerInfo = { cpuId: '' };
//     computerInfo.machineId = await window.getMachineId();
//     // 直接进入页面
//     return computerInfo;
// }
//
// /**
//  * 远程校验加密
//  * @param actCode
//  * @returns {Promise<{endDate: moment.Moment, diffDay: number}>}
//  */
// export async function verifyRegistrationRemoteJSEncrypt() {
//     const appStore = useAppStore();
//     let krActivateRecord = undefined;
//     try {
//         /**
//          * 1.读取配置是否存在激活信息
//          *   否：通过机器码能否获取激活信息
//          *      否：新机,激活【4】
//          * 2.解析激活信息，获取激活对象
//          *      否：解析失败，激活【4】
//          * 3.判断时间是否过期
//          *      过期：提示续费
//          *      未过期：更新激活信息并返回激活对象
//          */
//         // 这个东西不能放到数据库,需要放入文件.
//         let krActivateRecord = undefined;
//         let machineId = await window.getMachineId();
//         // 获取服务器时间和 krActivateRecord 对象.
//         try {
//             let recordDbRes = await qryActivateRecordByCodeM(
//                 encrypt({
//                     versionL: window.GOL_VERSION,
//                     machineId: machineId,
//                     newDate: +Date.now(),
//                 }),
//             );
//             let recordDb = commonResponseDeal(recordDbRes);
//             console.log('recordDbRes,', recordDb);
//             if (recordDb) {
//                 krActivateRecord = recordDb;
//                 krActivateRecord.isRemote = 1; // 1 远程服务器获取的最新记录，往下就不通再获取了
//             }
//         } catch (e) {
//             LOGGER.error('E003:获取认证信息错误' + e.toString());
//             throw new Error('E003:获取认证信息错误');
//         }
//         // 如果等于 krActivateRecord.isRemote = 1 刷新保存最新的记录
//         /** 激活校验规则开始 ***************/
//
//         // 统一试用的时代结束了，每个人都要申请注册
//         if (krActivateRecord?.machineId !== machineId) {
//             throw new Error('E003:激活信息错误,请重新激活');
//         }
//     } catch (e) {
//         console.log('verifyRegistration:eee:+>', e);
//         // 清除所有激活信息的缓存不用清理store
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_actCore`);
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_roleList`);
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_permissionList`);
//         // 只清除
//         // appStore.setActivateRecord({});
//         throw e;
//     }
//     krActivateRecord = await verifyIsExpired(krActivateRecord);
//     // 不管是否过期,到这一步刷新一下全局的激活信息
//     await saveActInfo(krActivateRecord);
//
//     if (krActivateRecord.diffDay && krActivateRecord.diffDay < 0) {
//         // 已经到期了.顺便删除权限
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_roleList`);
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_permissionList`);
//         throw new Error(`E004:激活已到期${krActivateRecord.diffDay}天`);
//     }
// }
//
// /**
//  * 校验激活码是否匹配 isCache 有缓存走缓存
//  * @param actCode
//  * @returns {Promise<{endDate: moment.Moment, diffDay: number}>}
//  */
// export async function verifyRegistration(isCache) {
//     const appStore = useAppStore();
//     let krActivateRecord = undefined;
//     try {
//         if (isCache) {
//             krActivateRecord = await verifyGetActInfoCache();
//         } else {
//             krActivateRecord = await verifyGetActInfoRemote();
//         }
//     } catch (e) {
//         console.log('verifyRegistration:eee:+>', e);
//         // 清除所有激活信息
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_actCore`);
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_roleList`);
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_permissionList`);
//         appStore.setActivateRecord({});
//         throw e;
//     }
//     krActivateRecord = await verifyIsExpired(krActivateRecord);
//     // 不管是否过期,到这一步刷新一下全局的激活信息
//     await saveActInfo(krActivateRecord);
//
//     if (krActivateRecord.diffDay && krActivateRecord.diffDay < 0) {
//         // 已经到期了.顺便删除权限
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_roleList`);
//         await window.jsonStorage.deleteJsonCacheByKey(`appSys_permissionList`);
//         throw new Error(`E004:激活已到期${krActivateRecord.diffDay}天`);
//     }
// }
//
// /**
//  * 获取激活信息后执行方法
//  * @param krActivateRecord
//  * @returns {Promise<void>}
//  */
// export async function saveActInfo(krActivateRecord) {
//     if (!krActivateRecord.roleList) {
//         // 如果为空，则取缓存
//         krActivateRecord.roleList = (await window.jsonStorage.getJsonCache(`appSys_roleList`)) || [];
//     }
//     if (!krActivateRecord.permissionList) {
//         krActivateRecord.permissionList = (await window.jsonStorage.getJsonCache(`appSys_permissionList`)) || [];
//     }
//     let encryptStr1 = encrypt(
//         JSON.stringify({
//             id: krActivateRecord.id,
//             effDate: krActivateRecord.effDate,
//             activateKey: krActivateRecord.activateKey,
//             machineId: krActivateRecord.machineId,
//             userName: krActivateRecord.userName,
//             uPhone: krActivateRecord.uPhone,
//             vipLevel: krActivateRecord.vipLevel,
//             createTime: krActivateRecord.createTime,
//             updateTime: krActivateRecord.updateTime,
//             isAdmin: krActivateRecord.isAdmin,
//         }),
//     );
//     await window.jsonStorage.writeJsonCache(`appSys_actCore`, encryptStr1);
//     // 缓存权限
//     await window.jsonStorage.writeJsonCache(`appSys_roleList`, krActivateRecord.roleList);
//     await window.jsonStorage.writeJsonCache(`appSys_permissionList`, krActivateRecord.permissionList);
//
//     const appStore = useAppStore();
//     appStore.setActivateRecord(krActivateRecord);
//     // 获取用户远程信息
//     await appStore.readAppRemoteConfig();
//     // 软件更新
//     // 关闭APP启动自动更新
//     let notAppCheckUpdate = +window.getRemoteAppConfig('NOT_APP_START_CHECK_UPDATE', '0');
//     if (1 !== notAppCheckUpdate) {
//         window.appAutoUpdater.checkForUpdates();
//     }
// }
//
// // isCache true强制取缓存
// export async function verifyGetActInfoCache() {
//     /**
//      * 1.读取配置是否存在激活信息
//      *   否：通过机器码能否获取激活信息
//      *      否：新机,激活【4】
//      * 2.解析激活信息，获取激活对象
//      *      否：解析失败，激活【4】
//      * 3.判断时间是否过期
//      *      过期：提示续费
//      *      未过期：更新激活信息并返回激活对象
//      */
//     // 这个东西不能放到数据库,需要放入文件.
//     let encryptStr = undefined;
//     let krActivateRecord = undefined;
//     let machineId = await window.getMachineId();
//     try {
//         encryptStr = await window.jsonStorage.getJsonCache(`appSys_actCore`);
//     } catch (e) {
//         // machineId 通过机器码能否获取激活信息
//         // 这个时候需要查看网络是否通畅
//         try {
//             let recordDbRes = await qryActivateRecordByCode({
//                 versionL: window.GOL_VERSION,
//                 machineId: machineId,
//             });
//             let recordDb = commonResponseDeal(recordDbRes);
//             if (recordDb) {
//                 krActivateRecord = recordDb;
//                 krActivateRecord.isRemote = 1; // 1 远程服务器获取的最新记录，往下就不通再获取了
//             }
//         } catch (e) {
//             LOGGER.error('请求服务器报错1:' + e);
//         }
//     }
//     if (encryptStr && _.isEmpty(krActivateRecord)) {
//         // 解析激活码
//         try {
//             krActivateRecord = JSON.parse(decrypt(encryptStr) || '{}');
//             krActivateRecord.isRemote = 0; // 1 远程服务器获取的最新记录，往下就不通再获取了
//         } catch (e) {
//             LOGGER.error('激活信息解析失败,请重新激活:e:' + e);
//             throw new Error('E001:激活信息解析失败,请重新激活');
//         }
//     }
//     if (_.isEmpty(krActivateRecord)) {
//         // throw new Error('E002:找不到激活信息,请重新激活');
//         console.log('远程获取了');
//         krActivateRecord = await verifyGetActInfoRemote();
//     }
//     // 统一试用的时代结束了，每个人都要申请注册
//     if (krActivateRecord.machineId !== machineId) {
//         throw new Error('E003:激活信息错误,请重新激活');
//     }
//     return krActivateRecord;
// }
//
// export async function verifyGetActInfoRemote() {
//     /**
//      * 1.读取配置是否存在激活信息
//      *   否：通过机器码能否获取激活信息
//      *      否：新机,激活【4】
//      * 2.解析激活信息，获取激活对象
//      *      否：解析失败，激活【4】
//      * 3.判断时间是否过期
//      *      过期：提示续费
//      *      未过期：更新激活信息并返回激活对象
//      */
//     // 这个东西不能放到数据库,需要放入文件.
//     let krActivateRecord = undefined;
//     let machineId = await window.getMachineId();
//     // 获取服务器时间和 krActivateRecord 对象.
//     try {
//         let recordDbRes = await qryActivateRecordByCode({
//             versionL: window.GOL_VERSION,
//             machineId: machineId,
//         });
//         let recordDb = commonResponseDeal(recordDbRes);
//         console.log('recordDbRes,', recordDb);
//         if (recordDb) {
//             krActivateRecord = recordDb;
//             krActivateRecord.isRemote = 1; // 1 远程服务器获取的最新记录，往下就不通再获取了
//         }
//     } catch (e) {
//         LOGGER.error('E003:获取认证信息错误' + e.toString());
//         throw new Error('E003:获取认证信息错误');
//     }
//     // 如果等于 krActivateRecord.isRemote = 1 刷新保存最新的记录
//     /** 激活校验规则开始 ***************/
//
//     // 统一试用的时代结束了，每个人都要申请注册
//     if (krActivateRecord.machineId !== machineId) {
//         throw new Error('E003:激活信息错误,请重新激活');
//     }
//     return krActivateRecord;
// }
//
// /**
//  * 校验激活信息是否过期
//  * @returns {Promise<void>}
//  */
// export async function verifyIsExpired(krActivateRecord) {
//     // 判断是否到日期
//     let effDate = moment(krActivateRecord.effDate, sysConsts.dateFormat.DATETIME);
//     let curSysDate = moment();
//     if (krActivateRecord.curDate) {
//         curSysDate = moment(krActivateRecord.curDate, sysConsts.dateFormat.DATETIME);
//     }
//     const diffDay = effDate.diff(curSysDate, 'days');
//     // 返回到期时间到期天数,
//     krActivateRecord.diffDay = diffDay;
//     return krActivateRecord;
// }
//
// // 公钥加密
// export function encrypt(passwd) {
//     const encryptor = new JSEncrypt();
//     encryptor.setPublicKey(PUBLIC_KEY);
//     // 普通的就是return encryptor.encrypt(passwd)
//     return encryptor.encrypt(passwd);
// }
//
// // 私钥解密
// export function decrypt(passwd) {
//     const encryptor = new JSEncrypt();
//     encryptor.setPrivateKey(PRIVATE_KEY);
//     // 普通的就是return decryptor.decrypt(passwd)
//     return encryptor.decrypt(passwd);
// }
